using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("GamesWonIndicator")]
	public class GamesWonIndicator : MonoBehaviour
	{
		public enum InnKeeperTrigger
		{
			NONE
		}

		public GameObject m_root => method_3<GameObject>("m_root");

		public GameObject m_segmentContainer => method_3<GameObject>("m_segmentContainer");

		public UberText m_winCountText => method_3<UberText>("m_winCountText");

		public GamesWonIndicatorSegment m_gamesWonSegmentPrefab => method_3<GamesWonIndicatorSegment>("m_gamesWonSegmentPrefab");

		public List<GamesWonIndicatorSegment> m_segments => method_3<Class271<GamesWonIndicatorSegment>>("m_segments")?.method_25();

		public int m_numActiveSegments => method_2<int>("m_numActiveSegments");

		public InnKeeperTrigger m_innkeeperTrigger => method_2<InnKeeperTrigger>("m_innkeeperTrigger");

		public static float FUDGE_FACTOR => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "GamesWonIndicator", "FUDGE_FACTOR");

		public GamesWonIndicator(IntPtr address, string className)
			: base(address, className)
		{
		}

		public GamesWonIndicator(IntPtr address)
			: this(address, "GamesWonIndicator")
		{
		}

		public void Init(Reward.Type rewardType, int rewardAmount, int numSegments, int numActiveSegments, InnKeeperTrigger trigger)
		{
			method_8("Init", rewardType, rewardAmount, numSegments, numActiveSegments, trigger);
		}

		public void Show()
		{
			method_8("Show");
		}

		public void Hide()
		{
			method_8("Hide");
		}
	}
}
